﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 事物
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine(InsertISBool());
            Console.ReadLine();

        }

        public static bool InsertISBool()
        {

            //1,sql1语句：根据任务ID和分配等级，更新任务分配信息表T_TaskAssignInfo中任务分配状态字段taskDistributeState的值为‘已分配’  
            string sql1 = "INSERT INTO [App].[dbo].[AspNetUserRoles]([UserId],[RoleId]) VALUES (@UserId,@RoleId) ";

            //2，sql2语句：向任务分配信息表中插入一条组长分配的任务信息，包括（任务ID，小组ID，成员ID，成员姓名、分配日期、分配时间、分配等级、提交状态）  
            string sql2 =
                "INSERT INTO [App].[dbo].[users]([username],[pwd],[mobile] ,[birthday] ,[sex] ,[age]) VALUES (@username,@pwd,@mobile ,@birthday ,@sex ,@age) ";




            //3，设置参数（任务ID、小组ID、成员ID、成员姓名、分配日期、分配时间）
            SqlParameter[] parameters ={
                                           new SqlParameter ("@username","你好" ),
                                       new SqlParameter("@pwd","1234"),
                                       new SqlParameter("@mobile","2222"),
                                       new SqlParameter("@birthday","1991-12-12"),
                                       new SqlParameter("@sex",1),
                                       new SqlParameter("@age",11),
                                       new SqlParameter ("@UserId","67e36e90-43e4-42c7-869f-c9f0d748069b" ),
                                           new SqlParameter ("@RoleId",1 )};


            //4，创建哈希表                      
            Hashtable SQLStringList = new Hashtable();
            SQLStringList.Add(sql1, parameters);//4.1将sql1语句，和参数添加到哈希表
            SQLStringList.Add(sql2, parameters);//4.2将sql2语句和参数添加到哈希表

            try
            {//5，调用DbHelperSQL类的事务函数（执行多条sql语句，完成数据库事务）
                DbHelperSQL.ExecuteSqlTran(SQLStringList);
                return true;
            }

            catch (SystemException)
            {
                return false;
            }
        }
    }
}
